package com.cskaoyan.controller.config;

import com.cskaoyan.bean.common.BaseRespVo;
import com.cskaoyan.bean.vo.ExpressConfigVO;
import com.cskaoyan.bean.vo.MallConfigVO;
import com.cskaoyan.bean.vo.OrderConfigVO;
import com.cskaoyan.bean.vo.WxConfigVO;
import com.cskaoyan.service.ConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @Auther: Yang Yi-zhou
 * @Date: 2022/9/7 14:18
 * @Description:
 */
@RestController
@RequestMapping("admin/config")
public class ConfigController {

    @Autowired
    ConfigService configService;

    @GetMapping("mall")
    public BaseRespVo getMallConfig() {
        MallConfigVO mallConfigVO = configService.getMallConfig();
        return BaseRespVo.ok(mallConfigVO);
    }

    @PostMapping("mall")
    public BaseRespVo updateMallConfig(@RequestBody MallConfigVO mallConfigVO) {
        return configService.updateMallConfig(mallConfigVO) ? BaseRespVo.ok() : BaseRespVo.invalidData("修改失败");
    }

    @GetMapping("express")
    public BaseRespVo getExpressConfig() {
        ExpressConfigVO expressConfigVO = configService.getExpressConfig();
        return BaseRespVo.ok(expressConfigVO);
    }

    @PostMapping("express")
    public BaseRespVo updateExpressConfig(@RequestBody ExpressConfigVO expressConfigVO) {
        return configService.updateExpressConfig(expressConfigVO) ? BaseRespVo.ok() : BaseRespVo.invalidData("修改失败");
    }

    @GetMapping("order")
    public BaseRespVo getOrderConfig() {
        OrderConfigVO orderConfig = configService.getOrderConfig();
        return BaseRespVo.ok(orderConfig);
    }

    @PostMapping("order")
    public BaseRespVo updateOrderConfig(@RequestBody OrderConfigVO orderConfigVO) {
        return configService.updateOrderConfig(orderConfigVO) ? BaseRespVo.ok() : BaseRespVo.invalidData("修改失败");
    }

    @GetMapping("wx")
    public BaseRespVo getWxConfig() {
        WxConfigVO wxConfig = configService.getWxConfig();
        return BaseRespVo.ok(wxConfig);
    }

    @PostMapping("wx")
    public BaseRespVo updateWxConfig(@RequestBody WxConfigVO wxConfigVO) {
        return configService.updateWxConfig(wxConfigVO) ? BaseRespVo.ok() : BaseRespVo.invalidData("修改失败");
    }


}
